﻿//using Loamen.KeyMouseHook;
//using System;
//using System.Collections.Generic;
//using System.IO;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;

//namespace SystemUpdatesCore.Files
//{
//    public class MacroFile : FileSave
//    {
//        /// <summary>
//        /// 扩展名
//        /// </summary>
//        public string FileExtension { get { return ".macro"; } }



//        /// <summary>
//        /// 获取新文件名
//        /// 格式：yyyyMMddhhmm
//        /// </summary>
//        /// <returns></returns>
//        public string NewFIleName()
//        {
//            string fileName = DateTime.Now.ToString("yyyyMMddhhmm");
//        NewFIleName:
//            if (File.Exists(Path.Combine(FilePath, fileName + FileExtension)))
//            {
//                fileName += ".1";
//                goto NewFIleName;
//            }
//            return fileName;
//        }

//        /// <summary>
//        /// 获取文件路径根据文件名
//        /// </summary>
//        /// <param name="fileName"></param>
//        /// <returns></returns>
//        public string GetPath(string fileName)
//        {
//            return Path.Combine(FilePath, fileName + FileExtension);
//        }

//        /// <summary>
//        /// 获取文件列表
//        /// </summary>
//        /// <returns></returns>
//        public MacroFileModel FileList()
//        {
//            return FileList(FilePath, "");
//        }


//        public MacroFileModel FileList(string path, string dirName)
//        {
//            var macroFile = new MacroFileModel();
//            macroFile.Name = dirName;
//            macroFile.FullName = path;
//            DirectoryInfo directoryInfo = new DirectoryInfo(Path.Combine(path, dirName));
//            //目录列表
//            foreach (var dir in directoryInfo.GetDirectories())
//            {
//                if (macroFile.ListMacros == null)
//                    macroFile.ListMacros = new List<MacroFileModel>();

//                macroFile.ListMacros.Add(FileList(dir.Parent.FullName, dir.Name));
//            }

//            //文件列表
//            var fileInfos = directoryInfo.GetFiles($"*{FileExtension}");
//            macroFile.ListFiles = fileInfos?
//                .ToList()
//                .Select(m => new MacroFileInfoModel() { Name = m.Name.Replace(FileExtension, ""), FullName = m.FullName, Date = m.LastWriteTime })?
//                .ToList();

//            return macroFile;
//        }



//        /// <summary>
//        /// 读取指定的文件
//        /// </summary>
//        /// <param name="fileName"></param>
//        /// <returns></returns>
//        public List<MacroEvent> Read(string fileName)
//        {
//            var filePath = GetPath(fileName);

//            return base.Read<MacroEvent>(filePath);
//        }

//        /// <summary>
//        /// 保存文件
//        /// </summary>
//        /// <param name="list"></param>
//        /// <param name="fileName"></param>
//        public void Write(List<MacroEvent> list, string fileName)
//        {
//            var filePath = GetPath(fileName);

//            base.Write(list, filePath);
//        }
//    }

//    public class MacroFileModel
//    {
//        /// <summary>
//        /// 完整路径
//        /// </summary>
//        public string FullName { get; set; }
//        /// <summary>
//        /// 目录名称
//        /// </summary>
//        public string Name { get; set; }
//        /// <summary>
//        /// 文件列表
//        /// </summary>
//        public List<MacroFileInfoModel> ListFiles { get; set; }
//        /// <summary>
//        /// 子目录
//        /// </summary>
//        public List<MacroFileModel> ListMacros { get; set; }
//    }
//    public class MacroFileInfoModel
//    {
//        public string Name { get; set; }

//        public string FullName { get; set; }

//        public DateTime Date { get; set; }
//    }
//}
